package com.yunban.project.template.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yunban.project.template.model.domain.Style;
import com.yunban.project.template.model.dto.StyleReq;
import com.yunban.project.template.model.vo.StyleResp;

import java.util.List;

/**
 * @author: lijiajun
 * @date: 2024-11-06
 * @version: 1.0
 */
public interface StyleService extends IService<Style> {

    /**
     * 根据ID查询风格
     *
     * @param id 主键
     * @return Style
     */
    Style findById(long id);

    /**
     * 模板风格树
     *
     * @return List<E>
     */
    List<Tree<Integer>> tree();

    /**
     * 添加模板风格
     *
     * @param req 添加风格请求参数
     * @return bool
     */
    Boolean saveStyle(StyleReq req);

    /**
     * 修改模板风格
     *
     * @param id  风格ID
     * @param req 修改风格请求参数
     * @return bool
     */
    Boolean editStyle(long id, StyleReq req);

    /**
     * 删除模板风格
     *
     * @param id 风格ID
     * @return bool
     */
    Boolean delStyle(long id);
}
